home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 June: Reference Library / Dev.CD Jun 99 RL Disk 1.toast / Technical Documentation / Develop / develop Issue 28 / develop Issue 28 code / Sketch / Source / ADTs / ElementADT.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-03  |  3.6 KB  |  86 lines  |  [TEXT/CWIE]

  1. /*********************************************************************************************************************************
  2.  * 
  3.  * ElementADT.h
  4.  * 
  5.  * Public functions, structures and constants for the Element Abstract Data Type
  6.  *
  7.  * See the element ADT source for a theory of operation
  8.  * 
  9.  *********************************************************************************************************************************/
  10.  
  11. #ifndef __ELEMENTADT__
  12. #define __ELEMENTADT__
  13.  
  14. #include "Structs.h"
  15.  
  16. OSErr                        ElementError                                (void);
  17. ElementList                CreateElementList                            (void);
  18. ElementReference        CreateElement                                (ElementList list, ElementType elementType);
  19. void                      DestroyElementList                        (ElementList list);
  20. void                        DestroyElementRange                        (ElementReference beginElement, ElementReference endElementOrNIL);
  21. void                      DestroyElement                                (ElementReference element);
  22. short                        CountElements                                (ElementList list);
  23. unsigned long            CountElementAllocations                    (void);
  24. ElementReference        GetFirstElement                            (ElementList list);
  25. ElementReference        GetLastElement                                (ElementList list);
  26. ElementReference         GetNextElement                                (ElementReference element);
  27. ElementReference        GetPreviousElement                        (ElementReference element);
  28.  
  29. ElementList                GetElementList                                (ElementReference element);
  30. ElementList                GetSubElementList                            (ElementReference element);
  31.  
  32. ElementList                CloneElementList                            (ElementList list);
  33. ElementReference        CloneElement                                (ElementReference element);
  34.  
  35. void                        OrphanElement                                (ElementReference element);
  36. void                        OrphanElementRange                        (ElementReference beginElement, ElementReference endElementOrNIL);
  37. void                        AdoptOrphan                                    (ElementList list, ElementReference element);
  38. void                        AdoptOrphanInsertingBeforeElement    (ElementReference orphan, ElementReference element);
  39. void                        AdoptOrphanInsertingAfterElement     (ElementReference orphan, ElementReference element);
  40. void                        FreeOrphanChain                            (ElementReference headOfChain);
  41.  
  42.  
  43.  
  44. //
  45. // --- Accessors
  46. //
  47. ElementType                GetElementType                                (ElementReference element);
  48. unsigned long            GetElementNumber                            (ElementReference element);
  49. ElementList                 GetElementSubElementList                (ElementReference element);
  50. Rect                         GetElementBoundingBox                    (ElementReference element);
  51.  
  52. Point                        GetElementRoundRectOvalSize            (ElementReference element);
  53.  
  54. Point                        GetElementLineBeginPoint                (ElementReference element);
  55. Point                        GetElementLineEndPoint                    (ElementReference element);
  56.  
  57. PolyHandle                GetElementPolygon                            (ElementReference element);
  58.  
  59. RGBColor                    GetElementFillColor                        (ElementReference element);
  60. RGBColor                    GetElementStrokeColor                    (ElementReference element);
  61.  
  62. short                        GetElementStrokePenWidth                (ElementReference element);
  63. short                        GetElementStrokePenHeight                (ElementReference element);
  64.  
  65. //
  66. // --- Manipulators
  67. //
  68.  
  69. void                        SetElementType                                (ElementReference element, ElementType elementType);
  70. void                          SetElementBoundingBox                    (ElementReference element, Rect boundingBox);
  71.  
  72. void                         SetElementRoundRectOvalSize            (ElementReference element, Point ovalSize);
  73.  
  74. void                         SetElementLineBeginPoint                (ElementReference element, Point p);
  75. void                         SetElementLineEndPoint                    (ElementReference element, Point p);
  76.  
  77. void                         SetElementPolygon                            (ElementReference element, PolyHandle polygon);
  78.  
  79. void                         SetElementStrokeColor                    (ElementReference element, RGBColor color);
  80. void                         SetElementFillColor                        (ElementReference element, RGBColor color);
  81.  
  82. void                         SetElementStrokePenWidth                (ElementReference element, short penWidth);
  83. void                         SetElementStrokePenHeight                (ElementReference element, short penHeight);
  84.  
  85. #endif
  86.